.overlay {
  position: fixed;
  inset: 0;
  z-index: 20;
  background-color: rgb(9 9 11 / 40%);
  backdrop-filter: blur(5px);
}

.modal {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 20;
  width: 100%;
  max-height: 100%;
  padding: 50px 0;
  overflow-y: auto;
  pointer-events: none;
  transform: translate(-50%, -50%);

  & .content {
    position: relative;
    width: 90%;
    max-width: 500px;
    padding: 20px;
    padding-top: 40px;
    margin: 0 auto;
    pointer-events: fill;
    background-color: var(--color-neutral-100);
    border-radius: 8px;

    &.wide {
      width: 95%;
      max-width: 600px;
      padding: 12px;
      padding-top: 40px;
    }

    & .close {
      position: absolute;
      top: 10px;
      right: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 20px;
      height: 20px;
      font-size: 16px;
      color: var(--color-foreground-subtle);
      cursor: pointer;
      background-color: transparent;
      border: none;
      border-radius: 4px;
      outline: none;

      &:focus-visible {
        outline: 2px solid var(--color-neutral-400);
        outline-offset: 2px;
      }
    }
  }
}
